package com.atguigu.sparkcore.rdd.tranformdoublevalue

import com.atguigu.sparkcore.util.MySparkContextUtil
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
  * rdd转换-Untion
  * 求两个集合的交集,分区数是原来集合分区数的和
  * union和++是等价的
  */
object Untion {

  def main(args: Array[String]): Unit = {

    // 获取sparkContext
    val sc = MySparkContextUtil.get(args)

    // 创建rdd
    val rdd: RDD[Int] = sc.makeRDD((1 to 3), 2)
    val rdd2: RDD[Int] = sc.makeRDD((6 to 10), 2)

    // 转换rdd
    // union和++是等价的
    val result = rdd ++ (rdd2)
    val result2 = rdd.union(rdd2)

    // 输出
    println(result.getNumPartitions)
    result.collect().foreach(println)

    println(result2.getNumPartitions)
    result2.collect().foreach(println)

    // 关闭资源
    MySparkContextUtil.close(sc)
  }
}
